As known in the art, end-to-end communications in a telecommunications network (for example, between a client and server) are typically carried out via a transport mechanism. Data passed to the transport mechanism from one end system, such as a client, is relayed to the other end system, such as a server, via the underlying network infrastructure which remains largely transparent to the end systems. The client in mobile systems is typically resident in the mobile handset or device, while the server is typically resident at a fixed location, separated from the mobile handset by at least one wireless network and perhaps a plurality of ground networks.
In a network, the client/server model provides a convenient way to interconnect programs that are distributed efficiently across different locations. Typically in the usual client/server model, one server (sometimes called a daemon) is activated and awaits client requests. As a result, connections in the client/server model are established by the client requesting opening of a connection with the server. This causes difficulties in implementations such as mobile communications where, in order to allow for the use of devices with limited capabilities, many mobile devices are equipped to operate solely as clients. As a result, a data channel between client and server can only be initiated by the mobile device.
The communication model described above is a client-server model, which enables a client to set up a connection with the server. A limitation of the above-described communication model is that it does not allow the server to set up the connection with the client. In order to overcome this limitation, a mechanism known as a Communication Initiation Request (CIR) may be used. A CIR allows the server to inform the client that it should establish a communication channel, as per the previously described client-server model.